محاسبات کوانتمی (22671) ترم بهار 1390-1391 مدرس: سلمان ابوالفتح بیگی نویسنده: هیربد کمالی نیا جلسه 9 1 مدل جعبه-سیاه یا جستاري مدل هایی که در جلسه ي پیش براي استفاده از توابع در الگوریتم هاي کوانتمی بیان شد از ساختار و ماهیت تابع به ما اطلاعی نمی دهند و صرفا با سوال پرسیدن از مدل مقدار تابع را در ورودي مورد نظر به ما می دهند. گویی این مدل یک جعبه سیاه 1 است که ورودي را می گیرد و خروجی را با توجه به آنچه تابع روي آن اثر می کند به ما می دهد. به این نوع مدل کردن مدل جعبه-سیاه یا مدل جستاري می گویند. قابل توجه است که پیچیدگی مساي ل در این مدل بر حسب تعداد سوال کردن 2 ها محاسبه می شود. 2 الگوریتم جستجوي Grover 1.2 مسا له ورودي: 1} {0, n f : {0, 1} شرط: دقیقا یک t {0, 1} n وجود دارد که = 1.f(t) خروجی: t را بیابید. تعداد ورودي ها برابر = 2 n می باشد. و به طور کلاسیک نمی توان این مساله را با «پیچیدگی» بهتر از O() حل کرد. الگوریتم کوانتمی Grover توانایی حل این مساله را با ( )O سوال دارد. 2.2 مقدمات براي حل مساله ي فوق سوال کوانتمی 3 از تابع f را به صورت عملگر یکانی زیر مدل می کنیم: O f x = ( 1) f(x) x. پس اگر x x ψ = x {0,1} n α آنگاه x. O f ψ = x {0,1} n( 1)f(x) α x 1 Black Box odel/query odel 2 Query 3 Quantum query 1
شکل 1: اعمال O f در واقع عمل قرینه کردن نسبت به s است s := 1 1 y {0,1} n,y t y. تعریف کنید در نتیجه = 0 s t و ϕ = α t + β s O f ϕ = α t + β s. v := 1 در واقع با توجه به شکل 1 اعمال O f متناظر با قرینه کردن نسبت به بردار s است. بردار هاي v و w را به صورت زیر تعریف کنید 1 x v = s + 1 t x {0,1} n w := 1 1 s t v w = 0 تبدیل یکانی U را در نظر بگیرید: U := H n (2 0... 0 0... 0 I)H n = 2H n 0... 0 0... 0 H n I 2
که در آن H ماتریس هادامارد است. داریم: شکل 2: اعمال U در واقع عمل قرینه کردن نسبت به v است H n 0... 0 = (H 0 ) (H 0 ) = ( 1 2 ( 0 + 1 )) ( 1 2 ( 0 + 1 )) = 1 2 n x {0,1} n x = v. U = 2 v v I در نتیجه U ψ = γu v + λu w = γ v λ w. و براي λ w ψ = γ v + داریم O f نسبت به s و U نسبت به v عمل تقارن را انجام می دهند. و همانطور که می دانیم ترکیب دو عمل تقارن UO f = R 2θ یک عمل دوران بدست می دهد (شکل 3) cos θ = v s = 1 θ 1 که در آن 3
شکل :3 U(2) = O f (1), (3) = (2) 3.2 الگوریتم با n کیوبیت که همگی در حالت 0 آماده سازي شده اند شروع می کنیم. ابتدا روي هر یک از n کیوبیت عملگر هادامارد را اعمال می کنیم و بعد UO f = R 2θ را q بار و در آخر همه ي n کیوبیت را در پایه ي استاندارد اندازه می گیریم: 0... 0 H n v (UO f ) q τ measurement 4 π اگر می باشد. s از حالت 2qθ + θ یک بردار با زاویه τ = (UO f ) q v q بگیریم این زاویه تقریبا برابر π 2 خواهد بود. در این صورت τ تقریبا برابر t می شود. حال با اندازه گیریی τ در پایه ي استاندارد حاصل اندازه گیري با احتمال p(t) = t (UO f ) q v 2 = t τ 2 برابر t خواهد شد و از آنجا که τ و t به هم نزدیک هستند این عدد نزدیک به 1 است. در نتیجه این الگوریتم با ( q = )O سوال کوانتمی جواب را با احتمال بالا می یابد. 4
3 الگوریتم تجزیه Shor 1.3 مسا له مسا له 1: ورودي: خروجی: تجزیه به عوامل اول مسا له ي تجزیه به مسا له ي زیر کاهش می یابد. یعنی اگر مسا له ي زیر را حال کنیم آنگاه الگوریتمی براي تجزیه خواهیم داشت. مسا له 2: ورودي: خروجی: k که 1 k 2 و k یا اعلام اینکه عدد اول است. الگوریتم کوانتمی Shor این مسا له را در زمان ) 3 ( O((log حل می کند. 2.3 بخش کلاسیک در ابتدا به نکاتی از نظریه اعداد توجه می کنیم که در حل مسا له 2 به کار برده می شوند: (الف) اگر زوج باشد = 2 k و مسا له حل شده است. (ب) اگر = m t که 2 t مسا له را می توان به طور کلاسیک در زمان لگاریتمی ) 2 ( O((log حل کرد. زیرا در این صورت log = t log m یعنی t حداکثر log است. پس به ازاي هر عدد طبیعی t در بازه ي t log 2 می توان چک کرد که آیا m در log m = log /t عددي صحیح است یا خیر. در این صورت قرار دهید k. = m (ج) فرض کنید 1 x 2 اگر 1 ) gcd(x, قرار دهید ) k = gcd(x, در غیر این صورت: وجود دارد r به طوري که ( x r )1 mod و فرض می کنیم r کوچکترین عدد با این خاصیت باشد. با فرض اینکه r را می دانیم و همچنین r زوج است: y := x r 2 y 2 1 = (y 1)(y + 1), (y 1) در نتیجه 1 1) + y gcd(, و قرار می دهیم 1) + y k = gcd(, 5
قضیه 1 فرض کنید زوج نباشد و به صورت m t نباشد در این صورت اگر x را به طور تصادفی بین 2 تا 1 gcd(x, ) = 1 انتخاب کنیم به طوري که: 1 2 r زوج است. آنگاه با احتمال حداقل پس در آخر حل مسا له 1 به یافتن r با شرایط زیر کاهش می یابد: f : {1,..., } {1,... } f(s) = x s ( mod ) f(s + r) = f(s) براي یافتن r الگوریتمی کوانتمی معرفی می کنیم. 3.3 تبدیل فوریه روي گروه Z V را یک فضاي بعدي با پایه ي متعامد یکه ي { 1..., 1, 0 } در نظر بگیرید تبدیل فوریه روي این گروه F x = 1 1 ω xy y عبارتست از: که ω = e 2πi ریشه ي -ام واحد است. براي اثبات یکانی بودن F کافیست نشان دهیم: x, x V : x x (F x, F x ) = 0 (F x, F x ) = 1 (ω ) xy ω x y = 1 1 ω y(x x) = δ xx y که داریم: 4.3 الگوریتم ورودي: 1} f : {0,..., 1} {0,..., شرط: f(x) r : f(x + r) = خروجی: r را بیابید. سوال کوانتمی از f را با نگاشت یکانی زیر مدل می کنیم: O f x y = x f(x) + y( mod ). 6
الگوریتم 2 0 0 F I 1 1 x 0 x=0 O f 1 1 x f(x) x=0 = 1 r 1 r 1 rt + s f(s) F I 1 = 1 t r 1 s=0 s=0 r 1 s=0 r 1 1 1 ω (rt+s)y y f(s) r 1 r 1 ω t(ry) ω t(ry) = α t = ω t(ry) = t ψ = 1 r s y: ry ω sy y f(s) =: ψ. { 0 α 1 r α = 1 { 0 ry r ry گیریم α = ω ry بدین ترتیب داریم: پس خواهیم داشت: در نتیجه حالت حاصل از الگوریتم به صورت زیر خواهد بود: ω sy y f(s) با اندازه گیري مو لفه اول یک y بدست می آید با این خاصیت که. ry پس اگر قرار دهیم (y k = gcd(, آن گاه k r یعنی می فهمیم که r مضربی از /k است. لذا با چندبار تکرار r را می توان بدست آورد. براي اطلاعات بیشتر و مشاهده ي فهرست الگوریتم هاي کوانتومی به وب سایت زیر رجوع کنید: 7 math.nist.gov/quantum/zoo/